#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
配置文件
包含样本集下载程序的各种配置参数
"""

import os
from pathlib import Path

# 基础配置
BASE_URL = "http://10.0.10.236"
REQUEST_TIMEOUT = 30  # 请求超时时间（秒）

# 目录配置
DATA_DIR = Path("data/datasets")
CACHE_FILE = Path("transient_list.json")
LOG_FILE = Path("ot_download.log")

# 下载配置
DOWNLOAD_INTERVAL = 15  # 连续模式下的查询间隔（秒）
REQUEST_DELAY = 0.5     # 请求之间的延迟（秒）
MAX_RETRIES = 3         # 最大重试次数

# 图像配置
IMAGE_FORMAT = "fit"    # 图像格式
DOWNLOAD_FIRST_IMAGE_ONLY = True  # 是否只下载第一张图像

# 日志配置
LOG_LEVEL = "INFO"      # 日志级别：DEBUG, INFO, WARNING, ERROR, CRITICAL
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"

# 缓存配置
CACHE_MAX_AGE = 24 * 60 * 60  # 缓存最大年龄（秒），24小时

# API端点配置
OBJECT_LIST_ENDPOINT = "/crosstask/get-cross-object-list.action"
OBJECT_DETAIL_ENDPOINT = "/crosstask/get-crossobj-detail-json.action"
IMAGE_BASE_PATH = "/images"

# 查询参数
OBJECT_LIST_PARAMS = {
    "ot2qp.dateStr": "",
    "ot2qp.ctId": 0,
    "ot2qp.isMatch": 1,
    "ot2qp.probability": "",
    "ot2qp.frameNumber": 5,
    "ot2qp.magDiff": 0
}

def get_config():
    """
    获取配置字典
    
    Returns:
        dict: 配置字典
    """
    return {
        key: value for key, value in globals().items() 
        if not key.startswith('_') and not callable(value)
    }

if __name__ == "__main__":
    # 打印当前配置
    config = get_config()
    for key, value in config.items():
        print(f"{key}: {value}")